A Formal Language for Design Patterns

نویسندگان

  • Amnon H. Eden
  • Joseph Gil
  • Amiram Yehudai
چکیده

This article sets forth a rigorous approach to the concept of a ‘design pattern language’. We present a method of using a programming language to manipulate constructs of ordinary OOP language (such as classes and relations). We show that the specification of many design patterns can phrased as algorithms in this metaprogramming environment. The advantage is in delivering a precise method of defining design patterns. In addition, we present a ‘patterns wizard’, a tool that automates the application of patterns by metaprogramming techniques, without hiding the source code text from the programmer. We conclude with three case studies that demonstrate how the application of design patterns can be automated using metaprogramming techniques.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Multicast - Observer ≠ Typed Message LePUS - A Formal Language for Negotiating Design Patterns: A Case Study

A discussion was chronicled in previous issues of C++ Report comparing three [candidate] patterns: OBSERVER, MULTICAST, and TYPED MESSAGE. The comparison took a number of pages to be conveyed, mostly using informal means or concrete instances. We use a formal pattern specification language LePUS to define each design pattern and to illuminate the difference between the three. We translate each ...

متن کامل

Formal Modeling and Specification of Design Patterns Using RTPA

Software patterns are recognized as an ideal documentation of expert knowledge in software design and development. However, its formal model and semantics have not been generalized and matured. The traditional UML specifications and related formalization efforts cannot capture the essence of generic patterns precisely, understandably, and essentially. A generic mathematical model of patterns is...

متن کامل

A framework for early design and prototyping of service-oriented applications with design patterns

Service-oriented computing is playing an important role in several domains. Today the biggest shift in mainstream design and programming is toward serviceoriented applications. However, the service paradigm raises a bundle of problems that did not exist in traditional component-based development where abstraction, encapsulation, and modularity were the only main concerns. Due to their distribut...

متن کامل

Automatic Proof of Refinement among Design Patterns using the TLC Model Checker

Design patterns are reuse artifacts meant to improve the quality of software designs as well as the productivity of designers. Patterns (and their relationships) are mostly described in an informal fashion which leads to ambiguity and limits tools support. This has worsened with the growing number of well-established and candidate patterns. This paper discusses how to formally specify the "solu...

متن کامل

Developing Reliable yet Flexible Software through If-Then Model Transformation Rules

Developing reliable yet flexible software is a hard problem. Although modeling methods enjoy a lot of advantages, the exclusive use of just one of them, in many cases, may not guarantee the development of reliable and flexible software. Formal modeling methods ensure reliability because they use a rigorous approach to software development. However, lack of knowledge and high cost practically fo...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996